package ms.platform.system.dao;

import ms.platform.system.dto.UserMailDto;
import ms.platform.system.model.Admin;
import ms.platform.system.model.Manufacturer;

import java.util.List;
import java.util.Map;

public interface AdminDAO {

	/**
	 * 根据用户名查询用户
	 * @param username
	 * @return
	 */
	public Admin queryAdminByUsername(String username);

	Manufacturer queryEail(String username);

	/**
	 * @Title: queryCountByUsername
	 * @Description: TODO(通过用户名查询用户名是否已经存在)
	 * @param @param username
	 * @param @return    设定文件
	 * @return int    返回类型
	 * @throws
	 */
	public int queryCountByUsername(String username);
	
	/**
	 * @Title: validateByPhone
	 * @Description: TODO(检查用户录入的手机号是否在数据库中已存在)
	 * @param @param phone
	 * @param @return    设定文件
	 * @return int    返回类型
	 * @throws
	 */
	public int validateByPhone(String phone);

	/**
	 * 根据id查询用户
	 * @param id
	 * @return
	 */
	public Admin queryAdminById(Integer id);

	/**
	 * 修改用户
	 * @param admin
	 */
	public void update(Admin admin);
	/**
	 * 修改用户状态
	 * */
	public void updateIsUsed(Admin admin);
	/**
	 * 新增用户
	 * @param admin
	 */
	public void insert(Admin admin);


	
	/**
	 * 根据用户id删除该用户
	 * @param id
	 */
	public void deleteUserById(Integer id);

	/**
	 * 带条件分页查询list
	 * @param map
	 * @return
	 */
	public List<Admin> queryAdminListByCondition(Map<String, Object> map);
	
	/**
	 * 分页查询获取总条数
	 * @param map
	 * @return
	 */
	public Integer queryAdminCount(Map<String, Object> map);
	 
	public List<Admin> getAllUaer();

	List<Admin> getAdminList();
	
	List<UserMailDto> getUserMailDto();
}
